上位机开发笔记 » 搜索 » user:admin post:true

halcon视觉处理学习记录

//放大图片部分区域 set_part = dll.api("set_part","int(INT windowhwnd , int Row1, int Column1, int Row2, int Column2)");

调用

set_part(BwindowHandle,220,215,399,489); disp_obj(imageH , BwindowHandle);

halcon admin •  2018-01-07 • 最后回复来自 admin
17

halcon视觉处理学习记录

//设置输出颜色 set_color = dll.api("set_color","int(INT windowhwnd , string name)");

调用要注意, 先设置颜色,然后调用disp显示

var ret , BwindowHandle = open_window(0, 0, width, height, mainForm.picturebox2.hwnd, "visible", "",0);  //
halcon admin •  2018-01-07 • 最后回复来自 admin
17

halcon视觉处理学习记录

重要更新:

以上所有point image 和pointer& image 均可以写为ADDR image 和ADDR& image

这样调用就可以直接写数字0,代替raw.malloc(1000)了

如:

//读取图片 read_image = dll.api("read_image","int(ADDR& image,string filename)");

调用:

halcon admin •  2018-01-07 • 最后回复来自 admin
17

halcon视觉处理学习记录

//释放所有操作 release_all_compute_devices = dll.api("release_all_compute_devices","int()");

调用:

mainForm.wndproc = function(hwnd,message,wPatam,lParam){     select wParam{         case 0xF060/*_SC_CLOSE*/ {         
halcon admin •  2018-01-07 • 最后回复来自 admin
17

halcon视觉处理学习记录

//RGB彩色图转为灰度图 rgb1_to_gray= dll.api("rgb1_to_gray","int( pointer Image,pointer& GrayImage  )");

调用:

var ret , BwindowHandle = open_window(0, 0, width, height, mainForm.picturebox2.hwnd, "visible", "",0);  v
halcon admin •  2018-01-07 • 最后回复来自 admin
17

halcon视觉处理学习记录

//闭合边界 close_edges = dll.api("close_edges","int(pointer Edges ,pointer EdgeImage ,pointer& RegionResult , int MinAmplitude )");


halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

//线性边界 bandpass_image = dll.api("bandpass_image","int(pointer image ,pointer& imageB , string FilterType )"); //调用 var ret , DwindowHandle = open_window(0, 0, width, height, mainForm.picturebox4.hwnd, "visible", "",0);  var imagehwndD = ..raw.malloc(1000); v
halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

试了试官方提供的边缘示例,嗯...感觉不错, 后面可以慢慢研究了,哈

import win.ui; /*DSG{{*/ mainForm = win.form(text="halcon测试";right=1153;bottom=894;border="dialog frame") main
halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

以上主要参考:

http://blog.csdn.net/u011661384/article/details/42261669

http://blog.csdn.net/d_a_r_k/article/details/66973582


halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

取得宽高之后就需要显示在界面上了.

这里我们换个更清晰的图片测试:

import win.ui; /*DSG{{*/ mainForm = win.form(text="halcon测试";right=731;bottom=413;border="dialog frame") mainF
halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

为了兼容,我安装halcon的时候选择的是32位的程序,这样aar就可以调用它的dll了

首先测试下利用aar+halcon能不能读取到图片

我为了懒省事, 把halcon中的所需dll都弄到了res目录下

然后,qq截图了一张图片,就是下面这张↓↓↓↓

impo
halcon admin •  2018-01-06 • 最后回复来自 admin
17

halcon视觉处理学习记录

下载了halcom 13.0版本

链接:https://pan.baidu.com/s/1hstQZdi 密码:hgma

安装完成软件之后,需要一个注册文件,

发送任意内容到system@51halcon.com这个邮件, 都可以得到一个为期一个月的试用注册文件, 如果

halcon admin •  2018-01-06 • 最后回复来自 admin
17

添加右键菜单和标题栏菜单的两种方式

回复#2 @codex :

这个厉害,函数还可以写到外面

admin •  2018-01-05 • 最后回复来自 codex
4

名字空间的示例一则

回复#1 @codex :有群里的,有论坛的,

admin •  2018-01-05 • 最后回复来自 codex
3

文件路径拆分(分解)

admin •  2018-01-05 • 最后回复来自 admin
3

串口库sio的一些研究和扩展

利用sio库写了一个完整的串口助手:

import win.ui; /*DSG{{*/ mainForm = win.form(text="串口调试助手(aardio版本)";right=731;bottom=342;border="dialog frame") mainForm.add( AsciiButton={cls="radiobutton";text="AscII";left=165;top=235;right=223;bottom=260;checked=1;font=LOGFONT(h=-16)
aardio 串口 admin •  2018-01-04 • 最后回复来自 jacen
7

串口库sio的一些研究和扩展

扩展1: 获取电脑上有的那些串口端口号

有两种方式:

方式一,通过方程获取为列表,直接传递给items

var comReadFuc = function(){         import win.reg;     var tab = {}; //获取串口号 var reg = win.regReader("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM\"); if( reg ){ for(name,value,t in 
aardio 串口 admin •  2018-01-02 • 最后回复来自 jacen
7

我电脑里有一个通讯端口COM3 现在我用工具已经打开了这个串口,我想在aardio里在操作串口之前先检查一下这个COM端口的状态 想知道是否可用

import console;  import fsys.file; import win var file = fsys.file("COM1") io.open() io.print(file) if( file ){     console.log("COM1未打开")      } if(file === null){ console.log("COM1是打开的") } console.pause(true);

com如果是已经打开了的,那么就会返回null

如果没打开过,那么

admin •  2018-01-02 • 最后回复来自 admin
1

aardio中用如下代码启动electron并注入DLL钩子

code = /**  #include <windows.h>   typedef HWND WINAPI (*CreateWindowExPtr)( DWORD     dwExStyle, LPCWSTR   lpClassName, LPCWSTR   lpWindowName, DWORD     dwStyle, int       x, int       y, int       nWidth, int       nHeight,
admin •  2017-12-30 • 最后回复来自 admin
1

利用C语言编译器生成dll供其他软件调用

code = /**  #include <windows.h>   typedef HWND WINAPI (*CreateWindowExPtr)( DWORD     dwExStyle, LPCWSTR   lpClassName, LPCWSTR   lpWindowName, DWORD     dwStyle, int       x, int       y, int       nWidth, int       nHeight,
admin •  2017-12-30 • 最后回复来自 admin
1
登 录
信息栏
本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网
在线小工具
Pojie.Online

才仁机械


网站地图SiteMap